Главная arrow книги arrow Копия Глава 10. Представление знаний arrow Отрицание как недостижение цели и устойчивая семантика модели
Отрицание как недостижение цели и устойчивая семантика модели

Очевидно, что минимальные модели не позволяют выразить намеченную семантику программ с отрицанием как недостижением цели. Рассмотрим следующую программу:

(10.5)

Эта программа имеет две минимальные модели, {Р} и {Q). С точки зрения логики первого порядка в этом есть смысл, поскольку выражение эквивалентно Но с точки зрения языка Prolog это сомнительно: если терм Q ни разу не появляется в этой программе слева от стрелки, то как же он может стать следствием?

Альтернативный подход состоит в использовании идеи стабильной модели, которая представляет собой такую минимальную модель, что каждый атом в модели имеет обоснование: правило, голова которого является атомом, а каждый литерал в теле выполняется. Формально модель Μ определяется как стабильная модель программы Я, если м— уникальная минимальная модель сокращения Я по отношению к м. Сокращение программы Я определяется путем предварительного удаления из H любого правила, которое имеет в теле литерал not А, где А имеется в модели, а затем удаления всех отрицательных литералов в оставшихся правилах. Поскольку после этого сокращение программы Я становится списком хорновских выражений, оно должно иметь уникальную минимальную модель.

Сокращением программыпо отношению к {Р} является Р, и это сокращение имеет минимальную модель {Р}. Поэтому {Р} — стабильная модель. Сокращение по отношению к {Q} представляет собой пустую программу, и это сокращение имеет минимальную модель {}. Поэтому {Q) — это нестабильная модель, поскольку Q не имеет обоснования в уравнении 10.5. В качестве еще одного примера можно привести сокращение уравнения 10.4 по отношению к, как показано ниже.

Эта программа имеет минимальную модель, поэтому— стабильная модель. Программирование множества ответов — это разновидность логического программирования с отрицанием как недостижением цели, которая функционирует на основе преобразования логической программы в базовую форму с последующим поиском стабильных моделей (называемых также множествами ответов) с использованием методов проверки пропозициональной модели. Таким образом, программирование множества ответов разработано на основе и системы Prolog, и быстродействующих алгоритмов автоматического доказательства выполнимости пропозициональных высказываний, таких как. И действительно, программирование множества ответов было успешно применено для решения задач планирования, по такому же принципу, как применялись программы автоматического доказательства выполнимости пропозициональных высказываний. Преимуществом планировщиков на основе множества ответов над другими планировщиками является их большая гибкость: операторы и ограничения планирования могут быть выражены в виде логических программ и не привязаны к жесткому формату конкретной формальной структуры планирования. Недостаток методов планирования на основе множества ответов является таким же, как и в других пропозициональных методах: если количество объектов в универсуме очень велико, то может возникать экспоненциальное замедление.